A cellular network, or mobile network, is a wireless communication network that may be divided into one or more geographical regions known as cells, that may be communicatively interconnected via one or more fixed location transceivers known as base stations. Through an arrangement of cells and base stations, a cellular network may provide wireless communication coverage over a large geographical area and enable wireless communication devices to communicate with each other anywhere in the network, potentially over long distances. Modern cellular networks are becoming larger and more complex, as the industry migrates towards densely-deployed networks that include large numbers of highly concentrated cells capable of providing near ubiquitous coverage. As cellular networks grow in size and complexity, optimizing their coverage and capacity becomes increasingly challenging. For example, an increase in the number of cells results in an exponential increase in the number of interactions and potential interference between neighboring cells. Because of interference, changing the settings of one cell to improve its coverage and capacity may potentially decrease the coverage and capacity of that cell's neighbors as well as the coverage and capacity of the overall network.
One conventional method that has been used to address these challenges is to construct a virtual model of the cellular network so that network parameters may be adjusted and optimized in a virtual environment. This approach, however, has several drawbacks. First, the optimization process can be slow, often requiring days or weeks for the model to be built and for the simulated network parameters to be optimized. Second, the process can be costly, since it requires drive testing and knowing where user devices are located geographically. Third, solutions produced from the simulated environments can be inaccurate due to inaccurate representations of engineering parameters, such as the mechanical tilt on the antennae of a base station.
A second conventional approach to optimizing the coverage and capacity of a cellular network is to optimize network parameters iteratively by making small step adjustments and gathering real-world feedback on the effects of those adjustments on a real network until an optimal solution is found. This iterative approach can also be slow, usually taking three to five or more iterations and several days to optimize the network. In addition, having to make many adjustments to a real network can risk some parts of the network losing coverage because of those adjustments. Moreover, even when an optimal solution is found for one cellular network, the solution cannot be applied to a different cellular network. Rather, optimization for a new cellular network would require starting the iterative process all over again from scratch.